#ifndef svl_TIni_H
#define svl_TIni_H

#include "svl.h"
#include "grf.h"

namespace svl {

///////////////////////////////////////////////////////////////////////////////

struct TIniFile : public TDebug
{
  TString FileName;
  //
  TIniFile(char *FileName);
};

///////////////////////////////////////////////////////////////////////////////

struct TIniSection : public TDebug
{
  TIniFile &IniFile;
  TString   Name;
  //
  TIniSection(TIniFile &File,TString Name);
  //
  void SetValue(TString Key,TString  Value);
  bool GetValue(TString Key,TString &Value);
  //
  void SetValue(TString Key,int  Value);
  bool GetValue(TString Key,int &Value);
  //
  void SetValue(TString Key,bool  Value);
  bool GetValue(TString Key,bool &Value);
  //
  void SetValue(TString Key,grf::TRect  Value);
  bool GetValue(TString Key,grf::TRect &Value);
  //
  TString    GetSetValue(TString Key,TString    Value);
  int        GetSetValue(TString Key,int        Value);
  bool       GetSetValue(TString Key,bool       Value);
  grf::TRect GetSetValue(TString Key,grf::TRect Value);
};

///////////////////////////////////////////////////////////////////////////////
}

#endif
